Digital graphics are associated with a number of processing issues, ranging from the speed and flexibility with which the graphics can be handled (e.g., generated, stored, and otherwise manipulated), to the quality that such graphics can be displayed (e.g., for screen use or for printing). A typical application where such graphics issues come to light is in digital mapping systems.
Computerized mapping systems have been developed to search for, identify, and discover information about geographic locations. One form of such computerized mapping systems includes travel-planning Internet websites. With an excess of 50 million unique monthly users, such map sites are a very popular offering. Examples of such sites include AOL's MapQuest, Yahoo's Telcontar-based maps, and Microsoft's MapPoint.net suite. Such sites all work along the lines of a common model, as will now be described.
When a Web user asks for a new map view (e.g., by entering a postal address, or by clicking a navigation link next to a current map view), the user's Web browser sends to a Web server a request indicating the boundaries of the new map view. The Web server in turn extracts the corresponding vector-based map data from a database, and draws a bitmap image of the map. The server then converts the bitmap to an image format supported by the user's Web browser and returns the image, sometimes embedded in HTML, to the user's Web browser so that it can be displayed. Other map Web sites, such as Britain's MultiMaps or Australia's WhereIs utilize a raster-based map database instead. In these cases, it is not necessary to extract vectors and draw a map image. Rather, these functions are replaced by simply extracting the appropriate part of a larger, pre-rendered image.
Whether vector-based or raster-based, these existing systems typically exhibit very poor performance. In particular, the resulting maps tend to be small and move slowly. Consider, for example, the simple task of panning an existing map view west by, say, 50% of the width of the view. Conventional systems typically produce an entirely new image and transmit the new image from the server to the user's browser. Such systems are wasteful, as they fail to recognize and exploit the 50% overlap between the new and old map views. In the vector-based case, the addition need to produce a map image from vectors in real-time tends to result in maps that are generally hard to read and lack a professional look and feel, thereby detracting from the user experience. In addition, the quality that such map graphics can be displayed (e.g., for screen use or for printing) is generally poor.
Other vendors have chosen to write custom software for their users to download and install. While this latter approach can result in a dramatic improvement in the user experience, the need to install software on a user's computer may prevent its widespread adoption. Moreover, the quality of the resulting map graphics remains a problem.
What is needed, therefore, are digital mapping techniques that facilitate the efficient online delivery of aesthetically pleasing maps. In a more general sense, there is a need for generating, storing, and displaying graphics using sub-pixel bitmaps.